﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Entidades.Sistema.Venta;

namespace Entidades.Sistema.Produccion
{
    public class Receta
    {
        private int _idReceta;
        private Producto _producto;
        private String _estado;
        private String _nombre;
        private String _descripcion;
        private DateTime _fechaAlta;
        private bool? _predeterminada;
        private List<RecetaDetalle> CollRecetaDetalle;

        public Receta()
        {
            this.Producto = new Producto();
            CollRecetaDetalle = new List<RecetaDetalle>();
        }
        public int IdReceta
        {
            get { return _idReceta; }
            set { _idReceta = value; }
        }
        public Producto Producto 
        {
            get { return _producto; }
            set { _producto = value; } 
        }
        public String Estado
        {
            get { return _estado; }
            set { _estado = value; }
        }
        public String Nombre
        {
            get { return _nombre; }
            set { _nombre = value; }

        }
        public String Descripcion
        {
            get { return _descripcion; }
            set { _descripcion = value; }
        }
        public DateTime FechaAlta
        {
            get { return _fechaAlta; }
            set { _fechaAlta = value; }
        }
        public bool? Predeterminada
        {
          
             get
            {
                return _predeterminada;
            }
            set
            {
                _predeterminada = value == null ? false : value;
            }
        }

        public IList<RecetaDetalle> RecetaDetalles
        {
            get { return CollRecetaDetalle; }
        }

        public void AgregarDetalle(RecetaDetalle det)
        {
            CollRecetaDetalle.Add(det);
        }

        public void EliminarDetalle(RecetaDetalle det)
        {
            CollRecetaDetalle.RemoveAll(x => x.Insumo.IdInsumo == det.Insumo.IdInsumo);
        }
    }
}
